Ознака редоследа бајтова

време меморија улаз излаз
1 s 64 Mb стандардни излаз стандардни улаз

Шеснаестобитни број може да се смести у два бајта на два начина: прво бајт веће тежине, па бајт мање тежине (такозвани big endian редослед, скраћено BE), или прво бајт мање тежине, па бајт веће тежине (little endian редослед, LE). Да би се назначио редослед који се користи, понекад се пре низа 16-битних бројева ставља број који се хексадекадно записује као FEFF. Овај број се прикладно назива ознака редоследа бајтова (byte order mark, скраћено BOM). Ако се BOM не налази на почетку низа, подразумева се BE редослед.

На пример, низ од три 16-битна броја [041F, 043E, 0434] може да се представи секвенцом бајтова на следећа три начина: као [FE, FF, 04, 1F, 04, 3E, 04, 34], као [04, 1F, 04, 3E, 04, 34], или као [FF, FE, 1F, 04, 3E, 04, 34, 04].

Написати програм, који учитава паран број \(N\), а затим секвенцу од \(N\) бајтова, а приказује декадне 16-битне бројеве које учитана секвенца бајтова представља.

Напомена: ово је реална ситуација у текстовима кодираним по стандарду Unicode UTF-16. У скупу јуникод карактера постоји карактер који се зове BOM (тј. byte order mark), и који може да се појави нпр. на почетку текстуалног фајла пре текста, а никада као део самог текста.

Улаз

У првом реду стандардног улаза налази се паран број \(N\), \(2 \leq N \leq 20\). У наредних \(N\) линија налази се по један бајт (број од 0 до 255) у хексадекадном облику. Цифре веће од 9 су означене великим словима од A до F.

Излаз

Декадни 16-битни бројеви који одговарају улазној секвенци бајтова, сваки у посебном реду. Број исписаних бројева треба да буде \(\frac{N}{2}\) или \(\frac{N-2}{2}\), зависно од вредности прва два бајта улазне секвенце.

Пример 1

Улаз

8 FE FF 04 1F 04 3E 04 34

Излаз

1055 1086 1076

Пример 2

Улаз

6 04 1F 04 3E 04 34

Излаз

1055 1086 1076

Пример 3

Улаз

8 FF FE 1F 04 3E 04 34 04

Излаз

1055 1086 1076

Морате бити улоговани како бисте послали задатак на евалуацију.